home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1978-08-29 | 1.9 KB | 42 lines |
- ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ' STOS TO AMOS SPRITE CONVERTER
- ' By P.J.Hickman
- ' Original program by Francois Lionet
- '
- ' Line numbers in AMOS, yup!! It may not be really structured
- ' but it gives you more room to convert sprites!!!!!!!!!!!!!!!!!!!!
- ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Repeat
- Erase 6
- 55 F$=Fsel$("*.MBK","","Please select the","STOS sprite bank to convert")
- 60 If F$="" Then Default : End
- 61 Open In 1,F$ : L=Lof(1) : Close 1
- 65 If Instr(F$,".MBK")=0 Then 55
- 66 Reserve As Work 6,L : Bload F$,Start(6) : ST=Start(6)+18
- 100 F$=F$-".MBK" : If Leek(ST)<>$19861987 Then Boom : Goto 55
- 110 Erase 10 : Reserve As Work 10,L : Fill Start(10) To Start(10)+Length(10),0
- 115 AD=Start(10) : A$="AmSp" : Gosub 1000
- 200 AB=ST+4+Leek(ST+4) : NB=Deek(ST+16) : Doke AD,NB : AD=AD+2
- 205 A=AB : For NN=0 To NB-1 : Locate 0,10 : Centre "Sprite"+Str$(NN+1)
- 210 SA=AB+NN*8 : TX=Peek(SA+4) : TY=Peek(SA+5) : NP=4
- 215 Doke AD,TX : Doke AD+2,TY : Doke AD+4,NP : Doke AD+6,Peek(SA+6) : Doke AD+8,Peek(SA+7) : AD=AD+10
- 220 SA=AB+Leek(AB+NN*8)+TX*TY*2
- 225 For N=0 To NP-1 : A=SA+N*2
- 230 For Y=0 To TY-1 : AA=A+Y*TX*8
- 235 For X=0 To TX-1 : Doke AD,Deek(AA+X*8) : AD=AD+2 : Next X
- 245 Next Y
- 250 Next N
- 255 Next NN
- 275 APAL=Hunt(ST To ST+L,"PALT")+4 : If APAL=4 Then End
- 280 For X=0 To 15 : Doke AD,Deek(APAL+X*2)*2 : AD=AD+2 : Next
- 285 For X=0 To 15 : Doke AD,Deek(APAL+X*2)*2 : AD=AD+2 : Next
- 300 Locate 0,14 : F$=Fsel$("*.ABK","","Please type the name","of the AMOS bank to save")
- If Instr(Upper$(F$),".ABK")=0
- F$=F$+".ABK"
- End If
- Centre "Saving "+F$
- Bsave F$,Start(10) To AD
- 305 Clw
- Until False
- 1000 Loke AD,Leek(Varptr(A$)) : AD=AD+4 : Return
- 1100 Loke AD,A : AD=AD+4 : Return